package ar.edu.utn.frgp.TPFinalBanco.dao.impl;

import java.util.List;

import org.hibernate.Session;

import ar.edu.utn.frgp.TPFinalBanco.dao.ClienteDao;
import ar.edu.utn.frgp.TPFinalBanco.dao.DefaultGenericDao;
import ar.edu.utn.frgp.TPFinalBanco.model.Cliente;

public class ClienteDaoImpl extends DefaultGenericDao implements ClienteDao {

	public void create(Cliente obj) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();
		session.save(obj);
	}

	public void update(Cliente obj) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();
		session.saveOrUpdate(obj);

	}

	public void delete(Cliente obj) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();
		session.delete(obj);

	}

	@SuppressWarnings("unchecked")
	public List<Cliente> getAll() {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();

		List<Cliente> clientes = session.createCriteria(Cliente.class).list();

		return clientes;
	}

	public Cliente getCliente(String dni) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();

		Cliente cliente = (Cliente) session.get(Cliente.class, dni);
		return cliente;
	}

}
